import scrapy
from lucky.items import LuckyItem

class FirstluckySpider(scrapy.Spider):
    name = "firstlucky"  #爬虫名字
    allowed_domains = ["datachart.500.com"] #允许的域名
    start_urls = ["https://datachart.500.com/ssq/"]  #第一次爬取时的路径地址

    def parse(self, response):
        #调用response.xpath方法对页面进行解析
        # 找到id属性为tdata下的所有tr标签
        trs=response.xpath("//*[@id='tdata']/tr")
        # 进行遍历
        for tr in trs:
            # 因没5行数据中会有一个横线，横线中对于的tr的class属性为tdbck
            # 判断若tr的class属性为tdbck，则跳出本次循环
            if tr.xpath("./@class").extract_first()=="tdbck":
                continue
            # 找到tr下class属性为chartBall01的td标签。调用extract方法将数组提取出来
            # 因为红球不止一个，这里调用extract
            red_ball=tr.xpath("./td[@class='chartBall01']/text()").extract()
            # 找到tr下的class属性为chartBall02的td中的内容，为篮球
            # 一组号码中只有一个篮球，调用extract_first
            blue_ball=tr.xpath("./td[@class='chartBall02']/text()").extract_first()
            # 找到tr下的align属性为center的td中的内容，为期号
            # 一组号码中只有一个期号，调用extract_first
            qihao=tr.xpath("./td[@align='center']/text()").extract_first()
            # 创建item实体
            lucky_msg=LuckyItem()
            # 对实体的字段进行赋值（在item中定义了什么字段，在这里只能用什么字段）
            # item对象名字["item中定义的字段"]=上面解析后的数据内容
            lucky_msg["red_ball"]=red_ball
            lucky_msg["blue_ball"] = blue_ball
            lucky_msg["qihao"] = qihao
        #     将item返回
            yield lucky_msg

        pass
